Cloud computing generally relates to the delivery of computing as a service rather than a product, whereby resources, software and information are provided to computers and other devices as utility over a network. Additionally, cloud computing provides computation, software applications, data access and data management and storage resources without requiring cloud users to know the location and other details of the computing infrastructure.
End users access cloud based applications through a web browser while the business software and data are stored on servers at a remoter location.
Private cloud is infrastructure operated for an organization and can be managed internally or externally. Further, there are numerous applications running on each of the servers which require several processors and memory for executing instructions. However, due to the non-uniform use of these applications, handling sudden demand of resources (workload bursts) by the applications and managing resources within the cloud computing environment becomes critical.
In the existing technologies, resources are managed by creating resources pools and specifying percentage of resources that need to be reserved for different virtual machines that belong to a resource pool. The reservation can be at individual level or can be at the level of group of virtual machines. However, the existing technologies have limitations that resources may not get utilized all the time. Additionally, there are methods in the existing technologies which enable allocation of resources to virtual machines based on priorities set for different workload.